Use mermaid.render()
instead of mermaid.run()
API to avoid removing whitespace from diagrams
#536
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
📑 Summary
Use the
mermaid.render()
function instead of themermaid.run()
function to parse Mermaid diagram definitions directly, without going through HTML first.📏 Design Decisions
Currently,
mermaid-cli
renders mermaid diagrams by:However, when converting the mmd code to HTML
<div>
, newlines and whitespace formatting may get removed. For the majority of diagrams, this is no issue, but for some diagrams (e.g.classDiagram
), whitespace does matter.The mermaid API has a
mermaid.render()
function that we can use instead, which parses in mmd code directly, without having to go through a HTML element first:As an additional benefit, we get better error messages from Mermaid too!
📋 Tasks
Make sure you
master
branch